package com.ktkq.util.font;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

 
 public class UploadExcel {
	 
	 private String filePath;
	public UploadExcel(String filePath) {
	 this.filePath =filePath;
	}
       //记录类的输出信息­
       static Log log = LogFactory.getLog(UploadExcel.class); 
       //获取Excel文档的路径­
//       public static String filePath = "D://excel.xls";
       @SuppressWarnings("finally")
	public List<List<String>> AnalysisExcel() {
    	   List<List<String>> list = new ArrayList<List<String>>();
    	   try {
    		         // 创建对Excel工作簿文件的引用
                   HSSFWorkbook wookbook = new HSSFWorkbook(new FileInputStream(filePath)); 
                 
                   // 在Excel文档中，第一张工作表的缺省索引是0
                   // 其语句为：HSSFSheet sheet = workbook.getSheetAt(0);
                   HSSFSheet sheet = wookbook.getSheet("Sheet1");
                   //获取到Excel文件中的所有行数
                   int rows = sheet.getPhysicalNumberOfRows();
                 
                   //遍历行
                   for (int i = 1; i < rows; i++) {
                         // 读取左上端单元格
                         HSSFRow row = sheet.getRow(i);
                         // 行不为空
                         if (row != null) {
                               //获取到Excel文件中的所有的列
                               int cells = row.getPhysicalNumberOfCells();
                               String value = "";     
                               //遍历列
                               List<String> cellList = new ArrayList<String>();
                               for (int j = 0; j < cells; j++) {
                                     //获取到列的值
                                     HSSFCell cell = row.getCell(j);
                                     if (cell != null) {
                                           switch (cell.getCellType()) {
                                               case HSSFCell.CELL_TYPE_FORMULA:
                                                 break;
                                                 case HSSFCell.CELL_TYPE_NUMERIC:
                                                	 cellList.add(cell.getNumericCellValue()+"");
//                                                       value += cell.getNumericCellValue() + ",";        
                                                 break;  
                                                 case HSSFCell.CELL_TYPE_STRING:
                                                	 cellList.add(cell.getStringCellValue()+"");
//                                                       value += cell.getStringCellValue() + ",";
                                                break;
                                                 default:
//                                                       value += "0";
                                                 break;
                                     }
                               }      
                         }
                               // 将数据存到List中
                               list.add(cellList);     
           }
              }
       } catch (FileNotFoundException e) {
            //e.printStackTrace();
    	   System.out.println("文件没有找到");
            
       } catch (IOException e) {
    	   System.out.println("解析出错");
            //e.printStackTrace();
       }finally{

    	   return list;
       }
		
    }
 }